モバイル開発 iOS 位置情報を扱う際のinfo.plistの設定
一番参考になる記事:iOS13以降の位置情報の利用許可について
まとめ
「常に許可」の利用が必要ない限りは、NSLocationWhenInUseUsageDescriptionだけ設定しておけばいい
ポイント
基本的にはNSLocationWhenInUseUsageDescriptionを設定しておけば十分。基本的に、ユーザーにはこのメッセージが表示される。
アプリ未使用中も位置情報を利用する要件がある場合は、「常に許可」してもらうメッセージを表示する必要がある。NSLocationAlwaysAndWhenInUseUsageDescriptionを設定しておく必要がある。
CLAuthorizationStatus:位置情報のステータス
table: sattus
値 定義 意味
0 notDetermined 未選択/未定義
1 restricted ペアレンタルコントロールなどの影響で制限中
2 denied 利用拒否
3 authorizedAlways 常に利用許可
4 authorizedWhenInUse 使用中のみ利用許可
「メッセージで表示される選択肢」と「CLAuthorizationStatus」の関係
table:関係
定義 備考
なし 「許可しない」を選択(CLAuthorizationStatus==denied)
次回確認 「1度だけ許可」を選択など(CLAuthorizationStatus==notDetermined)*
このAppの使用中のみ許可 「Appの使用中は許可」を選択(CLAuthorizationStatus==authorizedWhenInUse)
常に 「”常に許可”に変更」を選択((CLAuthorizationStatus==authorizedAlways
By the way
Expoで位置情報のパーミッション設定をする方法
ExpoのPermissions周りを実機検証してみる - Qiita
参考
Location Permission in iOS 13. How to request properly “Always Allow”… | by Quang NGO | The Startup | Medium
Apple Developer Documentation